#include <sys/types.h>
#include <stdio.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
int main()
{

    int fp1=creat("./a.txt",S_IRWXU|S_IRWXG|S_IRWXO);
    if(fp1==-1)
        perror("creat");
    int fp2=open("./b.txt",O_RDWR|O_CREAT|O_APPEND,0775);//如果不存在就创建
    if(fp2==-1)
        perror("open");
    //O_APPEND  将文件读写位置移到末尾
    //O_EXCL    判断文件是否存在，如果存在就报错
    //O_TRUNC   每次打开文件就清0
    char buffer[1024]="i am form nanjing";
    // fgets(stdin,buffer,sizeof(buffer-1));
    // gets(buffer);
    int fp4=write(fp2,buffer,strlen(buffer));
    if(fp4==-1)
        perror("write");
    // memset(buffer,0,sizeof(buffer));
    // int n_w=read(fp2,buffer,sizeof(buffer)); 
    // printf("%d\n",n_w);
    int fp5=lseek(fp2,0,SEEK_SET);       //SEEK_END      SEEK_CUR
    if(fp5==-1)
        perror("lseek");
    struct stat file1;
    // stat("./b.txt",&file1);
    // fstat(fp2,&file1);
    lstat("./b.txt",&file1);
    printf("file_size:%ld\n",file1.st_size);
    int fp3=close(fp2);
    if(fp3==-1)
        perror("close");
    return 0;
}